package net.qhzw.vip.qiyu.service;

import com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult;
import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
import net.qhzw.vip.qiyu.dto.DtsCarTransferPayDto;
import net.qhzw.vip.qiyu.model.CarRentalCostsVo;

import java.math.BigDecimal;

public interface PayService {

    /*****
     * 创建二维码
     * @return
     */
    String createNative(Long shopId, CarRentalCostsVo carRentalCostsVo);

    /**
     * 换车维修支付
     *
     * @param payDto
     * @return
     */
    String carTransPay(Long shopId, DtsCarTransferPayDto payDto);

    /**
     * 退车支付
     *
     * @return
     */
    String carCarRetreatPay(Long shopId, Long carRentalId, BigDecimal cost, Long id);


    /**
     * 租车退款操作
     *
     * @return
     */
    WxPayRefundResult carRetreat(Long shopId, String appId, String refundNo, String transactionId, double totalFee, double refundFee, String notifyUrl, String refundDesc);


    /***
     * JSAPI 用户充值租车金额
     * @param amount
     * @param payNo
     * @param notifyUrl
     * @return
     */
    WxPayMpOrderResult usrRchgGold(Long shopId, String openId, Double amount, String payNo, String notifyUrl);

    WxPayRefundNotifyResult parseRefundNotifyResult(String xmlData);


}
